// componnets/cForm/cForm.js
Component({

  /**
   * 组件的属性列表
   */
  properties: {
    options: {
      type: Array,
      default: []
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
    optionsList: [],
    form: {}
  },

  /**
   * 组件的方法列表
   */
  methods: {
    handleInput(e) {
      this.setData({
        form: (() => {
          let t = this.data.form
          t[this.data.optionsList[e.currentTarget.dataset.index].title] = e.detail.value
          return t
        })()
      })
      this.triggerEvent('update', this.data.form)
    },
    handleChange(e) {
      this.setData({
        form: (() => {
          let t = this.data.form
          t[this.data.optionsList[e.currentTarget.dataset.index].title] = this.data.optionsList[e.currentTarget.dataset.index].options[parseInt(e.detail.value)]
          return t
        })()
      })
      this.triggerEvent('update', this.data.form)
    }
  },

  attached() {
    this.setData({
      optionsList: this.properties.options
    })
  }
})